package com.ls.fw.config.zookeeper.enums;
/**
 * Type of change
 */
public enum EventType
{
    /**
     * A child was added to the path
     */
    ADDED,

    /**
     * A child's data was changed
     */
    UPDATED,

    /**
     * A child was removed from the path
     */
    REMOVED,

    /**
     * Called when the connection has changed to {@link ConnectionState#SUSPENDED}
     *
     * This is exposed so that users of the class can be notified of issues that *might* affect normal operation.
     * The PathChildrenCache is written such that listeners are not expected to do anything special on this
     * event, except for those people who want to cause some application-specific logic to fire when this occurs.
     * While the connection is down, the PathChildrenCache will continue to have its state from before it lost
     * the connection and after the connection is restored, the PathChildrenCache will emit normal child events
     * for all of the adds, deletes and updates that happened during the time that it was disconnected.
     */
    CONNECTION_SUSPENDED,

    /**
     * Called when the connection has changed to {@link ConnectionState#RECONNECTED}
     *
     * This is exposed so that users of the class can be notified of issues that *might* affect normal operation.
     * The PathChildrenCache is written such that listeners are not expected to do anything special on this
     * event, except for those people who want to cause some application-specific logic to fire when this occurs.
     * While the connection is down, the PathChildrenCache will continue to have its state from before it lost
     * the connection and after the connection is restored, the PathChildrenCache will emit normal child events
     * for all of the adds, deletes and updates that happened during the time that it was disconnected.
     */
    CONNECTION_RECONNECTED,

    /**
     * Called when the connection has changed to {@link ConnectionState#LOST}
     *
     * This is exposed so that users of the class can be notified of issues that *might* affect normal operation.
     * The PathChildrenCache is written such that listeners are not expected to do anything special on this
     * event, except for those people who want to cause some application-specific logic to fire when this occurs.
     * While the connection is down, the PathChildrenCache will continue to have its state from before it lost
     * the connection and after the connection is restored, the PathChildrenCache will emit normal child events
     * for all of the adds, deletes and updates that happened during the time that it was disconnected.
     */
    CONNECTION_LOST,

    /**
     * Posted when {@link PathChildrenCache#start(PathChildrenCache.StartMode)} is called
     * with {@link PathChildrenCache.StartMode#POST_INITIALIZED_EVENT}. This
     * event signals that the initial cache has been populated.
     */
    INITIALIZED
}
